/**
 * Copyright (C) 2012 The SkyTvOS Project
 * <p/>
 * Version     Date           Author
 * ─────────────────────────────────────
 * 2013-11-6         Root.Lu
 */

package com.tianci.appstore.utils;

import com.coocaa.x.framework.utils.LogUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;

public class DownLoadPicture {

    /**
     * @param args void
     * @Description TODO(描述这个方法的作用)<br/>
     * TODO(描述这个方法适用条件 – 可选)<br/>
     * TODO(描述这个方法的执行流程 – 可选)<br/>
     * TODO(描述这个方法的使用方法 – 可选)<br/>
     * TODO(描述这个方法的注意事项 – 可选)<br/>
     * @date 2013-11-6
     */

    public DownLoadPicture() {

    }

    public static void downLoadPicture(final String downURL,
                                       final String savePath) {
        LogUtils.d("down", "downLoadPicture--downURL--savePath-"
                + downURL + "  " + savePath);
        if (new File(savePath).exists()) {
            LogUtils.d("down", "download  already!!!!!!!!!!path=" + savePath);
            return;
        }
        new Thread() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    // 构造URL
                    URL url = new URL(downURL);
                    // 打开连接
                    URLConnection con = url.openConnection();
                    // 获得文件的长度
                    // int contentLength = con.getContentLength();
                    // System.out.println("长度 :"+contentLength);
                    // 输入流
                    InputStream is = con.getInputStream();
                    // 1K的数据缓冲
                    byte[] bs = new byte[1024];
                    // 读取到的数据长度
                    int len;
                    // 输出的文件流
                    OutputStream os = new FileOutputStream(savePath);
                    // 开始读取
                    while ((len = is.read(bs)) != -1) {
                        os.write(bs, 0, len);
                    }
                    // 完毕，关闭所有链接
                    os.flush();
                    os.close();
                    is.close();

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

        }.start();
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}
